﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using Castle.ActiveRecord;
using System.Collections;

namespace ServiceGerenciador.Model
{

    [Serializable] //conseguimos manter automaticamente os valores de controles no servidor entre um PostBack e outro da página
    [ActiveRecord("servicos")]//consiste em instanciar propriedades que representam um registro de um banco de dados
    public class Service : ActiveRecordBase<Service> //classe genérica
    {
        //private ArrayList serv = new ArrayList();
        public Service()
        {

        }
        
        [PrimaryKey("idServico")]
        public int idServico { get; set; }
        
        [Property]
        public string servico { get; set; }
        
        [Property]
        public decimal preco { get; set; }

        [Property]
        public DateTime tempo { get; set; }

        public static Service[] Pesquisa(string termo)
        {
            var servico = FindAll();
            return servico.Where((s) => (s.servico.ToUpper().Contains(termo.ToUpper()))).ToArray();
        }

        //[HasAndBelongsToMany(typeof(Funcionario),
        //  Table = "funcionarioServicos", ColumnKey = "IdServico", ColumnRef = "Id")]
        //public IList serv
        //{
        //    get;
        //    set;
        //}
    }
}
